import request from '../utils/Request.js';

/**
 * 概览页面API模块
 */
const overviewApi = {
  /**
   * 获取概览统计数据
   * @param {Object} [params] - 查询参数
   * @param {string} [params.period] - 调查期，默认为当前期
   * @returns {Promise} 返回统计数据
   */
  getStatisticsData: (params = {}) => {
    return request.get({
      url: '/overview/getStatisticsData',
      params,
    });
  },

  /**
   * 获取各地上报进度数据
   * @param {Object} [params] - 查询参数
   * @param {string} [params.period] - 调查期，默认为当前期
   * @returns {Promise} 返回各地上报进度数据
   */
  getReportProgress: (params = {}) => {
    return request.get({
      url: '/overview/getReportProgress',
      params,
    });
  },

  /**
   * 获取企业分布数据
   * @param {Object} [params] - 查询参数
   * @param {string} [params.period] - 调查期，默认为当前期
   * @param {string} [params.type] - 分布类型：region-地区分布 industry-行业分布 nature-企业性质分布
   * @returns {Promise} 返回企业分布数据
   */
  getEnterpriseDistribution: (params = {}) => {
    // 设置默认参数
    const defaultParams = {
      type: 'region',
      ...params,
    };
    
    return request.get({
      url: '/overview/getEnterpriseDistribution',
      params: defaultParams,
    });
  },

  /**
   * 获取最近通知列表
   * @param {Object} [params] - 查询参数
   * @param {number} [params.limit=5] - 数量限制
   * @returns {Promise} 返回通知列表
   */
  getRecentNotifications: (params = {}) => {
    // 设置默认参数
    const defaultParams = {
      limit: 5,
      ...params,
    };
    
    return request.get({
      url: '/overview/getRecentNotifications',
      params: defaultParams,
    });
  },

  /**
   * 获取待办事项列表
   * @returns {Promise} 返回待办事项列表
   */
  getTodoList: () => {
    return request.get({
      url: '/overview/getTodoList',
    });
  },
};

export default overviewApi;